package bigbrother.command;

/**
 * @author Hans Haggstrom
 */
public abstract class AbstractCommand
        implements Command
{

    //======================================================================
    // Private Fields

    private final String myName;
    private final String myDocumentation;

    //======================================================================
    // Public Methods

    //----------------------------------------------------------------------
    // Command Implementation

    public final String getCommandName()
    {
        return myName;
    }


    public final String getDocumentation()
    {
        return myDocumentation;
    }

    //======================================================================
    // Protected Methods

    //----------------------------------------------------------------------
    // Protected Constructors

    /**
     * @param name          identifier fo this command.  This is used to invoke the command. If null, only the module
     *                      name in itself is used.
     * @param documentation documentation for this command.
     */
    protected AbstractCommand( final String name, final String documentation )
    {
        myName = name;
        myDocumentation = documentation;
    }

}
